#!/bin/bash

# Docling Web应用安装脚本

echo "🚀 开始安装 Docling Web 文档识别应用..."

# 检查Python版本
python_version=$(python3 -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
required_version="3.9"

if [ "$(printf '%s\n' "$required_version" "$python_version" | sort -V | head -n1)" != "$required_version" ]; then
    echo "❌ 错误: 需要 Python 3.9 或更高版本，当前版本: $python_version"
    exit 1
fi

echo "✅ Python 版本检查通过: $python_version"

# 创建虚拟环境
echo "📦 创建虚拟环境..."
python3 -m venv venv

# 激活虚拟环境
echo "🔧 激活虚拟环境..."
source venv/bin/activate

# 升级pip
echo "⬆️ 升级 pip..."
pip install --upgrade pip

# 安装依赖
echo "📚 安装依赖包..."
pip install -r requirements.txt

# 创建必要的目录
echo "📁 创建目录结构..."
mkdir -p uploads
mkdir -p models_cache
mkdir -p static/uploads

# 设置环境变量
echo "🔧 配置环境变量..."
if [ ! -f .env ]; then
    cp .env.example .env
    echo "✅ 已创建 .env 文件，请根据需要修改配置"
fi

# 下载模型（可选）
read -p "是否现在下载模型？这可能需要几分钟时间 (y/N): " download_models
if [[ $download_models =~ ^[Yy]$ ]]; then
    echo "📥 下载模型..."
    export HF_ENDPOINT=https://hf-mirror.com
    export HF_HOME=./models_cache
    python -m docling.cli.models download --output-dir ./models_cache
    echo "✅ 模型下载完成"
else
    echo "⏭️ 跳过模型下载，可以稍后在Web界面中下载"
fi

echo ""
echo "🎉 安装完成！"
echo ""
echo "启动应用："
echo "  source venv/bin/activate"
echo "  python app.py"
echo ""
echo "然后访问: http://localhost:5000"
echo ""
echo "注意事项："
echo "  - 首次使用时需要下载模型文件"
echo "  - 确保有足够的磁盘空间（建议至少5GB）"
echo "  - 如果下载速度慢，请检查网络连接"
